package com.yixin.hospital.entity.domain;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.util.Date;
import lombok.Data;

/**
 * 就诊分装药品表
 * @TableName visit_sub_package_drug
 */
@TableName(value ="visit_sub_package_drug")
@Data
public class VisitSubPackageDrug implements Serializable {
    /**
     * id
     */
    @TableId(type = IdType.AUTO)
    private Long id;

    /**
     * 序号
     */
    private String serialNum;

    /**
     * 诊断表 Id
     */
    private Long visitId;

    /**
     * 导诊号
     */
    private String guidanceCode;

    /**
     * 药品编码
     */
    private String code;

    /**
     * 通用名
     */
    private String commonName;

    /**
     * 药品名称
     */
    private String name;

    /**
     * 规格说明
     */
    private String specs;

    /**
     * 每次使用量
     */
    private Integer eachUsageAmount;

    /**
     * 使用方法
     */
    private String usageMode;

    /**
     * 计划使用天数
     */
    private Integer planUsageDays;

    /**
     * 实际使用天数
     */
    private Integer realUsageDays;

    /**
     * 单价
     */
    private BigDecimal unitPrice;

    /**
     * 实际开药数量
     */
    private Integer realQuantity;

    /**
     * 处方开药数量
     */
    private Integer planQuantity;

    /**
     * 实际售价
     */
    private BigDecimal realSalePrice;

    /**
     * 处方售价
     */
    private BigDecimal planSalePrice;

    /**
     * 是否有剩余药
     */
    private Boolean isReserve = Boolean.FALSE;


    /**
     * 剩余药数量
     */
    private Integer reserveNum;

    /**
     * 用途
     */
    private String usagePurpose;

    // 日常特
    /**
     *  日常特 X天起
     */
    private Integer planUsageStartDays;
    /**
     *  日常特 描述 x-x天
     */
    private String planUsageDaysInfo;

    // 补
    /**
     * 补药日期
     */
    private Date repairDateStart;
    private Date repairDateEnd;
    /**
     * 补药日期描述
     */
    private String repairDateStr;

    /**
     * 生产日期
     */
    private Date productTime;

    /**
     * 有效期
     */
    private Date expiration;

    /**
     * 支付时间
     */
    private LocalDateTime paidTime;

    /**
     * 状态 (0已开立  1 已缴费  2 已取药)
     */
    private Integer status;

    /**
     * 创建人
     */
    private String createdBy;

    /**
     * 创建时间
     */
    private Date createdTime;

    /**
     * 更新人
     */
    private String updatedBy;

    /**
     * 更新时间
     */
    private Date updatedTime;

    @TableField(exist = false)
    private static final long serialVersionUID = 1L;
}